from Algorithm import Algorithm

Algorithm.mapInitialize(line1=u'''西塱 1 坑口 1 花地湾 1 方寸 1 黄沙 1 长寿路 1 陈家祠 1 西门口 1 公元前 1 农讲所 1 烈士陵园 1 东山口 1 杨箕 1 
体育西路 1 体育中心 1 广州东站''',
                        line2=u'''广州南站 1 石壁 1 会江 1 南浦 1 洛溪 1 南洲 1 东晓南 1 江泰路 1 昌岗 1 江南西 1 市二宫 1 海珠广场 1 公元前 1 纪念堂 
                        5 越秀公园 3 广州火车站 1 三元里 1 飞翔公园 1 白云公园 1 白云文化广场 1 萧岗 1 江夏 1 黄边 1 嘉禾望岗 ''',
                        line3=u'''机场北 1 机场南 1 高增 1 人和 1 龙归 1 嘉禾望岗 1 白云大道北 1 永泰 1 同和 1 京溪南方医院 1 梅花园 1 燕塘 1 广州东站 
                        1 林和西 1 体育西路 1 珠江新城 1 广州塔 1 客村 1 大塘 1 沥滘 1 大石 1 汉溪长隆 1 市桥 1 番禺广场 ''',
                        line5=u'''窖口 1 坦尾 1 中山八 1 西场 1 西村 1 广州火车站 1 小北 1 淘金 1 区庄 1 动物园 1 杨箕 1 五羊邨 1 珠江新城 1 猎德 1 
                        潭村 1 员村 1 科韵路 1 车陂南 1 东圃 1 三溪 1 鱼珠 1 大沙地 1 大沙东 1 文冲 ''',
                        line6=u'''河沙 1 坦尾 1 如意坊 1 黄沙 1 文化公园 1 一德路 1 海珠广场 1 北京路 1 团一大广场 1 东湖 1 东山口 1 区庄 1 黄花岗 1 
                        沙河顶 1 天平架 1 燕塘 1 天河客运站 1 植物园''',
                        line7=u'''广州南站 1 石壁 1 谢村 1 钟村 1 汉溪长隆 1 南村万博 1 员岗 1 板桥 1 大学城南''',
                        line8=u'''万胜围 1 琶洲 1 新港东 1 磨碟沙 1 赤岗 1 客村 1 鹭江 1 中大 1 晓港 1 昌岗 1 宝岗大道 1 沙园 1 凤凰新村 1 同福西 1 
                        文化广场 1 华林寺 1 陈家祠 1 彩虹桥 1 西村 1 鹅掌坦 1 同德''')


start = ""
destination = ""
model = 0


def getInput():
    global start, destination, model
    start = input("请输入你的始发站：")
    destination = input("请输入你的终点站：")
    model = int(input("1:最少换乘\t2:最短距离\n请输入你要选择的模式："))
    while True:
        if model == 1:
            return
        if model == 2:
            return
        print("无效输入")
        model = int(input("1:最少换乘\t2:最短距离\n请输入你要选择的模式："))


def main():
    enter = input("输入回车以退出程序，其他键为进入程序")
    # origin, end = Algorithm.recommendRoute()
    # print("您是否要从{}去{}".format(origin, end))
    # res = int(input("1:是\t2:否"))
    # if res == 1:
    #     route = Algorithm.minChangeSearch(start, destination)
    #     print("换乘次数为：{}，距离为{}，".format(route[-1][1], route[-1][2]))
    #     print("路线为：", route[:-1])
    #     enter = input("输入回车以退出程序，其他键继续程序")
    while enter != "":
        getInput()
        if model == 1:
            route = Algorithm.minChangeSearch(start, destination)
            print("换乘次数为：{}，距离为{}，".format(route[-1][1], route[-1][2]))
            print("路线为：", route[:-1])
        elif model == 2:
            # startIndex = Algorithm.locationDic[start]
            # endIndex = Algorithm.locationDic[destination]
            # route, length = Algorithm.dijkstra(startIndex, endIndex)
            route = Algorithm.minDistanceSearch(start, destination)
            print("换乘次数为：{}，距离为{}，".format(route[-1][1], route[-1][2]))
            print("路线为：", route[:-1])
        enter = input("输入回车以退出程序，其他键继续程序")
    print("感谢使用")


if __name__ == '__main__':
    main()

